.TH powerman 1 "@META_DATE@" "@META_ALIAS@" "@META_NAME@"
.SH NAME
powerman \- power on/off nodes
.SH SYNOPSIS
.B pm
.I "[-options] -action [targets] [-action [targets] ...]"
.SH DESCRIPTION
.B powerman
provides power management in a data center or compute cluster environment.  
It performs operations such as power on, power off, and power cycle
via remote power controller (RPC) devices.
Target hostnames are mapped to plugs on RPC devices in 
.I powerman.conf(5).
.SH OPTIONS
.TP
.I "-1, --on targets"
Power ON targets.
.TP
.I "-0, --off targets"
Power OFF targets.
.TP
.I "-c, --cycle targets"
Power cycle targets.
.TP
.I "-r, --reset targets"
Assert hardware reset for targets (if implemented by RPC).
.TP
.I "-f, --flash targets"
Turn beacon ON for targets (if implemented by RPC).
.TP
.I "-u, --unflash targets"
Turn beacon OFF for targets (if implemented by RPC).
.TP
.I "-l, --list"
List available targets.  If possible, output will be compressed into
a host range (see TARGET SPECIFICATION below).
.TP
.I "-q, --query-all"
Query plug status of all targets.
Status is not cached;  each time this option is used, powermand 
queries the appropriate RPC's.  Targets connected to RPC's that could
not be contacted (e.g. due to network failure) are reported as 
status "unknown".  If possible, output will be compressed into host
ranges.
.TP
.I "-Q, --query targets"
Query plug status of specific targets.
.TP
.I "-n, --soft-all"
Query soft power status of all targets (if implemented by RPC).
In this context, a node in the OFF state could be ON at the plug but 
operating in standby power mode.
.TP
.I "-N, --soft targets"
Query soft power status of specific targets (if implemented by RPC).
.TP
.I "-b, --beacon-all"
Query beacon status of all targets (if implemented by RPC).
.TP
.I "-B, --beacon targets"
Query beacon status of specific targets (if implemented by RPC).
.TP
.I "-t, --temp-all"
Query node temperature of all targets (if implemented by RPC).  
Temperature information is not interpreted by powerman and is reported
as received from the RPC on one line per target, prefixed by target name.
.TP
.I "-P, --temp targets"
Query node temperature of specific targets (if implemented by RPC).  
.TP
.I "-L, --license"
Show powerman license information.
.TP
.I "-h, --server-host host[:port]"
Connect to a powerman daemon on non-default host and optionally port.
.TP
.I "-V, --version"
Display the powerman version number and exit.
.TP
.I "-D, --device"
Displays RPC status information.  If targets are specified, only RPC's
matching the target list are displayed.
.TP
.I "-T, --telemetry"
Causes RPC telemetry information to be displayed as commands are processed.
Useful for debugging device scripts.
.TP
.I "-x, --exprange"
Expand host ranges in query responses.
.TP
.I "-g, --genders"
If configured with the genders(3) package, this option tells powerman that
targets are genders attributes that map to node names rather than the
node names themselves.
.SH "TARGET SPECIFICATION"
.B powerman
target hostnames may be specified as comma separated or space separated
hostnames or host ranges.  
Host ranges are of 
the general form: prefix[n-m,l-k,...], where n < m and l < k, etc.,
This form should not be confused with regular expression character classes 
(also denoted by ``[]''). For example, foo[19] does not represent foo1 or 
foo9, but rather represents a degenerate range: foo19.
.LP
This range syntax is meant
only as a convenience on clusters with a prefixNN naming convention and
specification of ranges should not be considered necessary -- the list
foo1,foo9 could be specified as such, or by the range foo[1,9].
.LP
Some examples of powerman targets follows:
.LP
Power on hosts bar,baz,foo01,foo02,...,foo05
    powerman --on bar baz foo[01-05]
.LP
Power on hosts bar,foo7,foo9,foo10
    powerman --on bar,foo[7,9-10]
.LP
Power on foo0,foo4,foo5
    powerman --on foo[0,4-5]
.LP
As a reminder to the reader, some shells will interpret brackets ([
and ]) for pattern matching.  Depending on your shell, it may be
necessary to enclose ranged lists within quotes.  For example, in
tcsh, the last example above should be executed as:
.nf
    powerman --on "foo[0,4-5]"
.fi

.SH "FILES"
@X_BINDIR@/powerman
.br
@X_BINDIR@/pm

.SH "ORIGIN"
PowerMan was originally developed by Andrew Uselton on LLNL's Linux clusters.
This software is open source and distributed under the terms of the GNU GPL.

.SH "SEE ALSO"
.BR powerman (1),
.BR powermand (8),
.BR httppower (8),
.BR plmpower (8),
.BR vpcd (8),
.BR powerman.conf (5),
.BR powerman.dev (5).
.PP
\fBhttp://code.google.com/p/powerman\fR
